class Jq{
	constructor(arg) {
		
		if(typeof arg === 'function'){
			// 参数为function，文档DOM加载完毕执行 fn
			this.ready(arg)
		}else if(typeof arg === 'string'){
			// 参数为字符串 获取dom 将dom挂载到this上，
			const NodeList = document.querySelectorAll(arg);
			this.mountJq(NodeList)
		}else{
			// 参数为DOM
			if(arg.length){
				// 多个元素
				this.mountJq(arg)
			}else{
				// 单个元素
				this[0] = arg
				this.length = 1
				
			}
		}
	}
	// 将多个元素,挂载到this
	mountJq(el){
		el.forEach((item,index)=>{
			this[index] = item
		})
		this.length = el.length;
	}
	click(fn){
		for(var i=0;i<this.length;i++){
			this[i].addEventListener('click',fn,false)
		}
		return this;
	}
	// 获取第几个元素
	eq(index){
		return new Jq(this[index])
	}
	// dom加载完毕
	ready(fn){
		window.addEventListener('DOMContentLoaded',fn,false)
	}
}
function $(arg){
	return new Jq(arg)
}